众数相关问题

区间众数问题(待补全……)

求一个数组的众数

摩尔投票法 (适用于只有一种众数情况)

1
2
3
4
5
6
7
8
9
int Mode(int *a, int n){ // O(n)
    int num=0, c=0;
	for(int i=1; i<=n; i++){
        if(c==0) num = a[i], c ++;
        else if(num==a[i]) c ++;
        else c --;
    }
    return num;
}

一般情况

排序,略……

区间多次查询众数

https://blog.csdn.net/black__wing/article/details/86096490

参考

陈立杰:区间众数解题报告

# 使用单$作为行内数学公式分界符